package org.stephen.recommend.service;

import org.stephen.recommend.enums.LanguageType;
import org.stephen.recommend.entity.Article;

import java.util.List;

/**
 * ClassName: RecommendService
 * Description:
 * Date: 2020/12/9 11:50
 *
 * @author stephen.qiu
 */
public interface RecommendService {
    /**
     * 推荐系统用户浏览文章记录
     * @param userId
     * @param articleId
     * @param languageType
     */
    void viewArticle(String userId, String articleId, LanguageType languageType);

    /**
     * 推荐系统 给特定用户推荐文章
     * @param blockArticleIds 用户屏蔽的文章id
     * @param userId
     * @param languageType 语言类型
     * @return
     */
    List<Article> recommendArticles(List<String> blockArticleIds, String userId, LanguageType languageType);

    /**
     * 删除文章之后从推荐系统中移除该文章
     * @param articleId
     * @param languageType
     */
    void deleteArticleById(String articleId,LanguageType languageType);
}
